package com.dts.evaluate.controller.impl;

import com.dts.evaluate.callback.BeanCallBack;
import com.dts.evaluate.common.Constants;
import com.dts.evaluate.controller.intf.DataInterface;
import com.lzy.okhttputils.OkHttpUtils;
import com.lzy.okhttputils.callback.FileCallback;
import com.lzy.okhttputils.callback.StringCallback;

/**
 * Created by user on 2016/8/1.
 */
public class DataImpl implements DataInterface {
    /**
     * 获取可办事项的数据
     * @param url
     * @param type
     * @param dataid
     * @param callBack
     */
    @Override
    public void getKbsxData(String url, int type, String dataid, BeanCallBack callBack, Object tag) {
       // dataid = type == Constants.TYPE_PARENT ? "ya-ScGsc-Org-2008-11":dataid;
        OkHttpUtils.post(url)
                .params(Constants.TYPE,String.valueOf(type))
                .params(Constants.DATAID,dataid)
                .tag(tag)
                .execute(callBack);
    }

    /**
     * 获取banner
     * @param url
     * @param type
     * @param dataid
     * @param tag
     */
    @Override
    public void getBanner(String url, int type, String dataid,StringCallback callback, Object tag) {
        OkHttpUtils.post(url)
                .params(Constants.TYPE,String.valueOf(type))
                .params(Constants.DATAID,dataid)
                .tag(tag)
                .execute(callback);

    }

    /**
     * 获取投诉建议数据
     * @param url
     * @param beanCallBack
     * @param tag
     */
    @Override
    public void getComplainData(String url,String modelName, BeanCallBack beanCallBack, Object tag) {
        OkHttpUtils
                .post(url)
                .params(Constants.MODEL_NAME,modelName)
                .tag(tag)
                .execute(beanCallBack);

    }

    /**
     * 提交投诉建议
     * @param url
     * @param userId
     * @param userName
     * @param phoneNum
     * @param callBack
     * @param tag
     */
    @Override
    public void commitComplainData(String url, String userId, String userName, String phoneNum, String reasonId, BeanCallBack callBack, Object tag) {
        OkHttpUtils.post(url)
                .params(Constants.USER_ID,userId)
                .params(Constants.REASON_ID,reasonId)
                .params(Constants.USEER_NAME,userName)
                .params(Constants.PHONE_NUM,phoneNum)
                .tag(tag)
                .execute(callBack);
    }

    /**
     * 检查新版本
     * @param url
     * @param type
     * @param versionName
     * @param callBack
     * @param tag
     */
    @Override
    public void checkNewVersion(String url, String type, String versionName, StringCallback callBack, Object tag) {
        OkHttpUtils.post(url)
                .params(Constants.CLIENT_TYPE,type)
                .params(Constants.VERSION_NAME,versionName)
                .tag(tag)
                .execute(callBack);
    }

    /**
     * 下载新版本
     * @param url
     * @param fileCallback
     * @param tag
     */
    @Override
    public void downloadNewVersion(String url, FileCallback fileCallback, Object tag) {
        OkHttpUtils.get(url)
                .tag(tag)
                .execute(fileCallback);
    }

    /**
     * 检查个人公告密码是否正确
     * @param url
     * @param userId
     * @param callback
     * @param tag
     */
    @Override
    public void checkPassoword(String url, String userId, StringCallback callback, Object tag) {
        OkHttpUtils.post(url)
                .params(Constants.USER_ID,userId)
                .tag(tag)
                .execute(callback);
    }

    @Override
    public void updatePassword(String url, String userId, String password, StringCallback callback, Object tag) {
        OkHttpUtils.post(url)
                .params(Constants.USER_ID,userId)
                .params(Constants.PASSWORD,password)
                .tag(tag)
                .execute(callback);
    }

    /**
     * 提交搞搞到服务端
     * @param url
     * @param type
     * @param userId
     * @param beginTime
     * @param endTime
     * @param telno
     * @param BulletinDesc
     * @param callback
     * @param tag
     */
    @Override
    public void publishPersonBroad(String url, String type, String userId, String beginTime, String endTime, String telno, String BulletinDesc, StringCallback callback, Object tag) {
        OkHttpUtils.post(url)
                .params(Constants.PERSION_BROAD_TYPE,type)
                .params(Constants.ISUE_USER_ID,userId)
                .params(Constants.BEGIN_TIME,beginTime)
                .params(Constants.END_TIME,endTime)
                .params(Constants.TEL_NO,telno)
                .params(Constants.BULLETION_DESC,BulletinDesc)
                .tag(tag)
                .execute(callback);
    }

    /**
     * 取消个人公告
     * @param url
     * @param type
     * @param id
     * @param callback
     * @param tag
     */
    @Override
    public void cancelPersonBroad(String url, String type, String id, StringCallback callback, Object tag) {
        OkHttpUtils.post(url)
                .params(Constants.PERSION_BROAD_TYPE,type)
                .params(Constants.BROAD_ID,id)
                .tag(tag)
                .execute(callback);
    }

    /**
     *  提交视频地址到服务器
     * @param url
     * @param videoId
     * @param path
     * @param callback
     * @param tag
     */
    @Override
    public void commitVideoPath(String url, String videoId,String name, String path, StringCallback callback, Object tag) {
        OkHttpUtils.post(url)
                .params(Constants.VIDEO_ID,videoId)
                .params(Constants.VIDEO_NAME,name)
                .params(Constants.VIDEO_PATH,path)
                .tag(tag)
                .execute(callback);
    }

    /**
     * 提交图片地址到和名字到服务器
     * @param url
     * @param name
     * @param path
     * @param callback
     * @param tag
     */
    @Override
    public void commitPicPath(String url, String name, String path,String projectid, StringCallback callback, Object tag) {
        OkHttpUtils.post(url)
                .params(Constants.PICTURE_NAME,name)
                .params(Constants.PICTURE_PATH,path)
                .params(Constants.PROJECT_ID,projectid)
                .tag(tag)
                .execute(callback);
    }
}
